<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of UnidadeAcademica
 *
 * @author alexandre
 */

require_once '../Includes/VariaveisGlobais.php';

class UnidadeAcademica {
    private $nome;
    private $UnidadeAcademicaCod;
    
    function __construct($UnidadeAcademicaCod = null) {
        $this->loadData($UnidadeAcademicaCod);
    }

    private function loadData($UnidadeAcademicaCod){
        if(is_numeric($UnidadeAcademicaCod)){
            try{
                include_once 'BaseDados.php';
                $db = new BaseDados("consulta");
                $objDb = $db->getObjDb();
                $stmt = $objDb->stmt_init();
                if($stmt->prepare("SELECT nome, UnidadeAcademicaCod FROM UnidadeAcademica WHERE UnidadeAcademicaCod = ?")){
                    $stmt->bind_param('i',$UnidadeAcademicaCod);
                    $stmt->execute();
                    $stmt->bind_result($nome,$Cod);
                    $stmt->fetch();
                    $stmt->close();
                    $this->setUnidadeAcademicaCod($Cod);
                    $this->setNome($nome);
                }
            }  catch (Exception $e){
                return "Falha: , ". $e->getMessage().", \n";
            }
        }
    }

    public function listaUnidadesAcademicas(){
        try{
            include_once 'BaseDados.php';
            $db = new BaseDados("consulta");
            $objDb = $db->getObjDb();
            $stmt = $objDb->stmt_init();
            if($stmt->prepare("SELECT UnidadeAcademicaCod,nome FROM UnidadeAcademica ORDER BY nome ASC")){
                $stmt->execute();
                $stmt->bind_result($UnidadeAcademicaCod,$nome);
                echo "<ul>";
                while ($stmt->fetch()) {
                    printf ("<li onclick=\"carregarConteudo('../../Formularios/UnidadeAcademica.php?comando=ATUALIZAR&UnidadeAcademicaCod=%d')\">%s</li>", $UnidadeAcademicaCod,$nome);
                }
                echo "</ul>";
                $stmt->close();
            }
        }  catch (Exception $e){
            return "Falha: , ". $e->getMessage().", \n";
        }
    }
    
    public function listaUnidadesAcademicasToArray(){
        try{
            include_once 'BaseDados.php';
            $db = new BaseDados("consulta");
            $objDb = $db->getObjDb();
            $stmt = $objDb->stmt_init();
            if($stmt->prepare("SELECT UnidadeAcademicaCod,nome FROM UnidadeAcademica ORDER BY nome ASC")){
                $stmt->execute();
                $stmt->bind_result($UnidadeAcademicaCod,$nome);
                $return = array();
                while ($stmt->fetch()) {
                    $return["UnidadeAcademicaCod"][] = $UnidadeAcademicaCod;
                    $return["Nome"][] = $nome;
                }
                $stmt->close();
                return $return;
            }
        }  catch (Exception $e){
            return "Falha: , ". $e->getMessage().", \n";
        }
    }
    
    public function inserirUnidadeAcademica($nome){
        try{
            if(is_null($nome)){
                echo "Falha ao inserirUnidadeAcademica, parametro nao informado!";
                return FALSE;
            }else{
                include_once 'BaseDados.php';
                $db = new BaseDados("escrita");
                $objDb = $db->getObjDb();
                $stmt = $objDb->stmt_init();
                if($stmt->prepare("INSERT INTO UnidadeAcademica (nome) VALUES (?)")){
                    $stmt->bind_param('s',$nome);
                    $stmt->execute();
                    $stmt->close();
                    return TRUE;
                }
            }
        }catch (Exception $e){
            return "Falha: , ". $e->getMessage().", \n";
        }
    }
    
    public function atualizarUnidadeAcademica($nome,$UnidadeAcademicaCod){
        try{
            if(is_null($nome) || !is_numeric($UnidadeAcademicaCod)){
                echo "Falha ao atualizarUnidadeAcademica, parametro nao informado!";
                return FALSE;
            }else{
                include_once 'BaseDados.php';
                $db = new BaseDados("escrita");
                $objDb = $db->getObjDb();
                $stmt = $objDb->stmt_init();
                if($stmt->prepare("UPDATE UnidadeAcademica SET nome = ? WHERE UnidadeAcademicaCod = ?")){
                    $stmt->bind_param('si',$nome,$UnidadeAcademicaCod);
                    $stmt->execute();
                    $stmt->close();
                    return TRUE;
                }
            }
        }catch (Exception $e){
            return "Falha: , ". $e->getMessage().", \n";
        }
    }

    public function getNome() {
        return $this->nome;
    }

    public function setNome($nome) {
        $this->nome = $nome;
    }

    public function getUnidadeAcademicaCod() {
        return $this->UnidadeAcademicaCod;
    }

    public function setUnidadeAcademicaCod($UnidadeAcademicaCod) {
        $this->UnidadeAcademicaCod = $UnidadeAcademicaCod;
    }
}

?>
